package calss_1_21exception;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class ThrowsTest {
    public static void main(String[] args) {
//        try {
//            test();
//        }catch (NullPointerException e){
//            System.out.println("捕获空指针异常！");
//            e.printStackTrace();
//        }

//        fun();
//        System.out.println("fun之后的代码");
        //即使抛出这两个异常，不写try catch也是可以的，编译不会出错
        test();
      //  test1();
    }
    public static void fun(){
        //人为产生一个空指针异常对象，抛出给调用者
        throw new NullPointerException("没事干，抛个异常玩玩~~");
        //异常抛出后，方法就会结束
    }
    //调用test方法可能会产生空指针异常，但是test方法不处理此异常，谁调用谁处理
    //空指针和数组越界都属于非受查异常，可以不显示的进行try...catch
    public static void test() throws NullPointerException{
        String str=null;
        System.out.println(str.length());
    }

    public static void test1() throws FileNotFoundException{
        File file=new File("test1.txt");
        Scanner scanner=new Scanner(file);
    }
}
